Шаг 22 - VariantClear.

Очищает вариант.

HRESULT VariantClear
( 
VARIANTARG FAR*pvarg
);

Параметр
pvarg
Указатель на VARIANTARG, который следует очистить.

Коды возврата
Из возвращенного HRESULT получают один из следующих кодов возврата:
Код возврата Значение
S_OK Успех.
DISP_E_ARRAYISLOCKED Вариант содержит заблокированный массив.
DISP_E_BADVARTYPE Тип варианта pvarg не допускается.
E_INVALIDARG Один из аргументов неверен.

Комментарии
Используйте эту функцию для очистки переменных типа VARIANTARG (или VARIANT) перед тем, как освободить содержащую их память (например, при выходе из области действия локальной переменной).
Функция очищает VARIANTARG, устанавливая поле vt в VT_EMPTY, а поле wReserved — в 0. Перед этим освобождается текущее содержимое варианта. Если поле vt содержит VT_BSTR, то строка освобождается. Если поле vt содержит VT_DISPATCH, то освобождается объект. Если в поле vt установлен бит VT_ARRAY, то освобождается массив.

Пример

for(i =0;  i < celt; i++) VariantClear(&rgvar[i]);
Hosted by uCoz